flowchart TD
    style EbT fill:#f9f,stroke:#333,stroke-width:2px
    style CbT fill:#f9f,stroke:#333,stroke-width:2px
    style TbT fill:#f9f,stroke:#333,stroke-width:2px

    subgraph "预处理阶段"
        direction LR
        A["分析微服务特性"] --> B["构建操作依赖图"]
        A --> C["识别执行模型<br>(是否跨线程)"]
        A --> D["构建字段关联矩阵<br>(数据依赖强度)"]
        B --> E["为TbT提供拓扑约束"]
        C --> F["为EbT提供决策依据"]
        D --> G["为CbT提供匹配权重"]
    end

    subgraph "在线追踪阶段"
        H["开始：处理 in_span"] --> I{"是否不跨线程?"}
        I -- 是 --> J["执行 EbT 关联"] --> K["输出关联结果"]
        I -- 否 --> L{"是否存在强数据依赖?<br>(字段相似度 > 阈值)"}
        L -- 是 --> M["执行 CbT 关联"] --> K
        L -- 否 --> N["执行 TbT <br>结合操作依赖图与延迟模型"] --> K
    end

    classDef method fill:#bbf,stroke:#000,stroke-width:1px,color:white;
    classDef fallback fill:#f9f,stroke:#333,stroke-width:2px;

    class J,M,N method
